package com.mzhmxh.util;

import org.springframework.web.multipart.MultipartFile;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @Author LiJinCheng
 * @Date 2020/2/4 7:41 下午
 * @Version 1.0
 * @package com.colin.pro2020.util
 **/
public class FileUtil {
    /**
     * 第一步：判断文件是否为空   true：返回提示为空信息   false：执行第二步
     * 第二步：判断目录是否存在   不存在：创建目录
     * 第三部：通过输出流将文件写入硬盘文件夹并关闭流
     *
     * @param file
     * @return
     */
    public static String uploadFile(MultipartFile file, String filePath, String id) {
        if (file.getOriginalFilename().length() > 0) {

            int i = file.getOriginalFilename().indexOf('.');
            System.out.println(file.getOriginalFilename().length() + "dddd" + i);
            String fileName = id + file.getOriginalFilename().substring(i);
            System.out.println(fileName);
            File targetFile = new File(filePath);
            //第一步：判断文件是否为空
            if (file.isEmpty()) {
                return fileName + "文件为空";
            }
            //第二步：判断目录是否存在不存在：创建目录
            if (!targetFile.exists()) {
                targetFile.mkdirs();
            }
            //第三部：通过输出流将文件写入硬盘文件夹并关闭流
            BufferedOutputStream stream = null;
            try {
                stream = new BufferedOutputStream(new FileOutputStream(filePath + fileName));
                stream.write(file.getBytes());
                stream.flush();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (stream != null) {
                        stream.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return fileName;
        }
        return null;
    }
}

